1. 引言

  • 本章节所使用的是编译安装的方式来安装Python3

2. 第一步 -> 安装 Python 所需的库环境

  • 安装python所需的库环境 -> 解决编译安装 Python3 所需的软件依赖 -> 非常重要

  • 注意: 

    • 只有解决了这些依赖关系后期才能正常运行 Python 3.6,如果不解决,会出现各种报错信息,此时还得重新编译(即: 重新安装)Python 3.6
    • 如果python3已经编译成型了(即:安装完成了),但是发现还有依赖包没有安装,那么就要重新再一次编译(即:重新安装)

yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

3.第二步 -> 下载并解压软件压缩包

  • 为什么选择下载 Python-3.6.7 版本?

    • 因为如果要做数据分析 ipython 要依赖于大于或等于 3.6 版本的 Python 环境

  • 下载 Python-3.6.7.tar.xz 压缩包到 /opt 目录下

wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz


  • 解压 Python-3.6.7.tar.xz 到 /opt 目录下

# 将 Python-3.6.7.tar.xz 压缩包解压成 Python-3.6.7.tar

xz -d Python-3.6.7.tar.xz

# 将 Python-3.6.7.tar 压缩包解压成 Python-3.6.7

tar -xf Python-3.6.7.tar


4.第三步 -> 为开始编译做准备

  • 执行 Python 源码包路径下的 configure 脚本文件,为开始编译做准备(即: 为安装软件做准备)

    • configure 脚本文件一般用来生成 Makefile 文件,为下一步的编译做准备


  • 命令: ./configure --prefix=路径 -> 指定将Python安装到指定目录下

    • 注意: 该条命令必须在 Python-3.6.7 目录下运行,否则会找不到需要执行 configure 脚本文件

./configure --prefix=/opt/python36/

  • 检查是否生成了 Makefile 文件


5.第四步 -> 开始编译

  • make 命令的介绍

    • 大多数的源代码包都是通过make命令进行编译的(当然有些perl或python编写的软件需要调用perl或python来进行编译)。

    • 如果在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

    • make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。

    • make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成

  • 命令: make -> 开始编译

    • 注意:

      • make 命令必须在 Python-3.6.7 目录下运行
      • 此步骤不会生成 /opt/python36/ 软件目录

make

6.第五步 -> 安装软件

  • 在进行安装软件之前,有些软件需要先运行 make check 或 make test来进行一些测试

  • 命令: make install -> 安装软件

    • 注意:

      • make install 命令必须在 Python-3.6.7 目录下运行
      • make install 需要使用 root 身份运行
      • 此步骤才会生成 /opt/python36/ 软件目录

make install

7.第四、五步可以同时执行

  • 执行完编译步骤后,紧接着执行软件的安装

make && make install

8.第六步 -> 检测 Python 是否安装成功

  • 检查 /opt/python36 目录是否存在




  • 检查 python 是否能正常运行

    • 在 /opt/python36 目录下执行以下命令

./bin/python3.6

# 等同于

./bin/python3  # 因为 python3 是 python3.6 的软连接(即: 快捷方式)

9.第七步 -> 配置环境变量

  • 配置环境变量的作用就是可以快速使用 python 命令

  • 方式一: 使用软连接配置环境变量 -> 不推荐使用

    • 注意:

      • 使用软连接配置 python3 只是配置了 python3 命令,而没有配置 pip3 的命令
      • 使用软连接配置 python3 后不适用于 virtualenv 的创建

    • 使用软连接配置 python3 配置到环境变量中

ln -s /opt/python36/bin/python3.6 /usr/bin/python3 

    • 使用软连接配置 pip3 配置到环境变量中

ln -s /opt/python36/bin/pip3 /usr/bin/pip3

  • 方式二: 修改环境变量 -> 推荐使用

    • 注意:

      • 直接修改环境变量会同时配置 python3 和 pip3 的命令

      • python36 下的 bin 路径要放到环境变量的最前面,因为在配置 virtualenv 的时候,virtualenv 会根据环境变量中的顺序来选择 python 的版本

    • 临时配置环境变量(即: 退出登录后就会失效)

PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin  # python36 下的 bin 路径要放到环境变量的最前面,因为在配置 virtualenv 的时候,virtualenv 会根据环境变量中的顺序来选择 python 的版本

# 等同于

PATH=/opt/python36/bin/:$PATH

    • 将环境变量配置到全局环境变量中使其永久生效(即: 每次登陆都会生效)

      • 进入全局环境变量文件

vim /etc/profile

      • 在全局环境变量文件的底部写入你要定义的变量

PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin  # python36 下的 bin 路径要放到环境变量的最前面,因为在配置 virtualenv 的时候,virtualenv 会根据环境变量中的顺序来选择 python 的版本

# 等同于

PATH=/opt/python36/bin/:$PATH

      • 重新执行全局环境变量文件,使其修改的内容生效

source /etc/profile

10.第八步 -> 配置完环境变量后检查python命令是否能正确运行

python3

pip3 install pymysql -i https://pypi.douban.com/simple